﻿
using System.Collections.Generic;
using System.Threading.Tasks;
using JuCheap.Core.Infrastructure;
using JuCheap.Core.Models;
using JuCheap.Core.Models.Filters;
using System;

namespace JuCheap.Core.Interfaces
{
    public interface IShowPushService
    {
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<int> AddAsync(ShowPushDto dto);
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<bool> UpdateAsync(ShowPushDto dto);
        /// <summary>
        /// 删除多条数据
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task<bool> DeleteAsync(IEnumerable<string> ids);
        /// <summary>
        /// 分页获取列表
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        Task<PagedResult<ShowPushDto>> SearchAsync(ShouPushFilter filter);
        /// <summary>
        /// 通过id获取单条数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<ShowPushDto> FindAsync(int id);
        /// <summary>
        /// 获取发布为1的总条数
        /// </summary>
        /// <returns></returns>
        Task<int> GetPushCount();
    }
}
